The Internet is a global system of interconnected computers and computer networks that use a standard Internet protocol suite (e.g., the Transmission Control Protocol (TCP) and Internet Protocol (IP)) to communicate with each other. The Internet of Things (IoT) is based on the idea that everyday objects, not just computers and computer networks, can be readable, recognizable, locatable, addressable, and controllable via an IoT communications network (e.g., an ad-hoc system or the Internet).
To protect the privacy and security of user information stored at a remote server (e.g., a server accessible over the Internet), the remote server will determine whether or not the user is authorized to access the information. Similarly, for the user to perform some action at or with the assistance of the remote server, such as making a bank transfer, the remote server will determine whether or not the user is authorized to perform the action. Typically, determining whether or not a user is authorized to access information or perform an action includes some way of authenticating that the user is who he says that he is. That is, if the remote server can verify that the user is the owner of the user information or the bank account (authentication), the user is allowed to access the information or make the bank transfer (authorization).
Client-server user authentication is typically performed using a unique key known only to the client and the remote server. This can be a very limited system, however, because if the key becomes known to a malicious third party, it is no longer secure. Additionally, the user may have to remember multiple “username” and “password” combinations for each website and/or application the user would like to log onto.